草庐IT

unit-testing - Java 项目 : Failed to load ApplicationContext

全部标签

unit-testing - 如何确保所有异步函数在执行 defer 之前运行

我有一个函数说Myfunction(){x.RunAsync()//AsyncFunctioncall}我必须为Myfunction()编写一个测试用例。我正在为此使用go-mock。还有mockedx。Test_MyFunction(){mockCtrl:=gomock.NewController(t)defermockCtrl.Finish()//EXPECT()calltostubRunAsync()}现在的问题是我的测试运行成功,但不知何故最后它panic地说,对mockX.RunAsync()的调用丢失了。我认为这是因为在我的RunAsync被stub之前正在执行延迟。如何确

go - 结构的一个字段,由 3 个项目组成。这怎么编译?

这个问题在这里已经有了答案:StrangetypedefinitionsyntaxinGolang(name,thentype,thenstringliteral)(1个回答)Whatistheusageofbacktickingolangstructsdefinition?[duplicate](2个回答)WhatisthethirdparameterofaGostructfield?(2个回答)GoStringaftervariabledeclaration(2个回答)StringliteralsinGOstructuredefinition[duplicate](1个回答)关闭3

GoLand 不自动导入本地项目包

这个问题在这里已经有了答案:Go:localimportinnon-localpackage(7个答案)Howtoimportlocalpackagesingo?(11个答案)GO-Localimportnotworking(1个回答)RelativeimportsinGo(6个答案)Golang-Whycan'tIimportlocalpackageinGOPATH/src/projectbutcaninhomedirectory?(2个答案)关闭3年前。我不确定这种行为是否有意为之,但GoLand在引用时似乎不会自动导入本地项目包。GoLand具有包和包方法的智能感知。然而,在为一

javascript - $pull mongodb 没有删除项目

我有一个收藏://thejson.{"ItemsToDelete":[{"placeId":"ChIJIQBpAG2ahYAR_6128GcTUEo","users":[ObjectId("547e4650f3fb0a022110af15"),ObjectId("547e4650f3fb0a022110af15"),ObjectId("547e4650f3fb0a022110af15")]},{"placeId":"ChIJIQBpAG2ahYAR_6128GcTUEo","users":[ObjectId("547e4650f3fb0a022110af15"),ObjectId("5

testing - 如何在 GO 中测试响应体?

我有以下功能:funcSomeFunction(whttp.ResponseWriter,...)error{...returnjson.NewEncoder(w).Encode(&c)}其中c是我的结构。当我运行该函数时,我收到带有json的响应主体,但我无法测试该函数。例如,我有:funcTestSomeFunction(t*testing.T){...w:=httptest.ResponseRecorder{}err:=SomeFunction(w,...)..}在这种情况下,我的w.Body是空的。问题不在于我的功能,因为我在运行时得到了body。我认为我没有以正确的方式进行测

go - 谷歌云平台Go SDK如何获取项目ID?

我想通过我在系统中使用的服务帐户在Go中获取项目ID,以便每当该代码在GCP中的计算实例上运行时,它应该检索计算实例所在的项目ID。此外,如果我从本地计算机运行代码,它应该获得与从命令行获取的“gcloudinfo”命令相同的项目ID。有人知道在Go中使用哪个API吗? 最佳答案 找出正确的API。packagemainimport("fmt""golang.org/x/net/context""google.golang.org/api/compute/v1""golang.org/x/oauth2/google")funcmai

go - 对如何从源代码构建一个 go 项目感到困惑

我正在尝试构建以太坊节点Geth:https://github.com/ethereum/go-ethereum我将项目克隆到我的src文件夹中(在一个名为geth的文件夹中,不应该是metter,对吧?),当我尝试运行/编译时找不到:"github.com/ethereum/go-ethereum/accounts""github.com/ethereum/go-ethereum/accounts/keystore""github.com/ethereum/go-ethereum/cmd/utils"目前这些文件存在,作为我正在尝试编译的项目的一部分,所以我实际上不明白为什么要在线引

go - 如何使用 go 获取 slice 中的单个项目计数?

例如,这是一个slice:[1,2,3,3,4]想要获取单个数据1,2,4的计数并返回count=3。也许删除重复项(包括自身)是一个想法,但没有找到合适的方法。我尝试过的:funcremoveDuplicateItems(){intSlice:=[]int{1,2,3,3,4}fmt.Println(intSlice)keys:=make(map[int]bool)list:=[]int{}for_,entry:=rangeintSlice{if_,value:=keys[entry];!value{keys[entry]=truelist=append(list,entry)}}f

go - Go 项目的依赖 URL 列表

我想获取Go项目中所有依赖项的压缩包URL(或类似的)列表。我试图通过“golistdependency”来实现这一点,但我看不到获取依赖项的源URL的可能性。如何获取URL? 最佳答案 对于当前目录,您可以通过以下方式获取导入:golist-f'{{join.Imports"\n"}}'. 关于go-Go项目的依赖URL列表,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/334

unit-testing - 单元测试 os.File.Write 调用

我想对调用os.File.Write()的函数进行单元测试,并希望达到100%的覆盖率。此函数返回n和一个错误。引发错误很容易。我只需要关闭文件。我怎样才能不引起写入错误和写入数据长度的值n不同?看起来我应该创建一个虚拟的os.File,我可以在上面控制返回的错误。不幸的是,os.File不是一个接口(interface)。编辑:根据PeterOS的回答,仔细检查文档后,Write()方法,是否为io.Writer或io.File如果err为nil,将始终返回写入的slice的长度。结果,看来我的问题毫无意义。我学到了一些重要的东西,谢谢。我有一些代码要清理。附带说明一下,我对100%